package com.hxs.hxsserver.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hxs.hxsserver.domain.dto.IdDTO;
import com.hxs.hxsserver.domain.dto.user.ChangePasswordDTO;
import com.hxs.hxsserver.domain.dto.user.PasswordLoginDTO;
import com.hxs.hxsserver.domain.dto.user.QueryUserListDTO;
import com.hxs.hxsserver.domain.dto.user.UpdateUserDTO;
import com.hxs.hxsserver.domain.entity.user.Menu;
import com.hxs.hxsserver.domain.entity.user.User;
import com.hxs.hxsserver.domain.vo.UserLoginVO;
import com.hxs.hxsserver.domain.vo.UserVO;

import java.util.List;

/**
 * @author Andi
 * @date 2024/09/06
 */
public interface UserService {

    User selectByUsername(String userName);

    UserLoginVO passwordLogin(PasswordLoginDTO dto);

    UserVO userInfo(Integer userId);

    Object getPicCode();

    Boolean changePassword(ChangePasswordDTO dto,Integer userId);

    Boolean updateUser(UpdateUserDTO dto, Integer userId);

    IPage<UserVO> getUserList(QueryUserListDTO queryUserListDTO, User user);

    Boolean deleteUserById(IdDTO idDTO,User user);

    List<Menu> getMenuList(Integer userId);

    Boolean insertUser(UpdateUserDTO dto, User user);

    List<Integer> getUsersId(User user);

    List<UserVO> getUserListByAlarm(User user);
}
